﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography;
using DAL.Modelos;
using DAL;

namespace CuadroMandoIntegralFMCH.Form_s.Login
{
    public partial class UsuarioCrear : Form
    {
        public UsuarioCrear()
        {
            InitializeComponent();
            tipoLogueoBindingSource.DataSource = new Modelo().TipoUsuario();
        }

        private void btAceptar_Click(object sender, EventArgs e)
        {
            if (!ValidarCamposObligatorios())
            {
                var loginPass = tbPass.Text;
                if (loginPass == tbRepetirPass.Text)
                {
                    loginPass = new Hash().Hasheada(loginPass);
                }
                else
                {
                    MessageBox.Show("La contraseña no cohincide", "Advertencia", MessageBoxButtons.OK,
                                    MessageBoxIcon.Exclamation);
                    return;
                }

                var usuario = new Logueo()
                                  {
                                      Nombre = tbNombre.Text,
                                      Apellido = tbApellido.Text,
                                      IdUsuario = int.Parse(tbUsuario.Text),
                                      Password = loginPass,
                                      IdTipoUsuario = int.Parse(cbTipoUsuario.SelectedValue.ToString())
                                  };

                var helper = new Modelo().AddUsuario(usuario);
                MessageBox.Show(helper.message, "Información", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }

            tbApellido.Clear();
            tbNombre.Clear();
            tbPass.Clear();
            tbRepetirPass.Clear();
            tbUsuario.Clear();

        }

        private bool ValidarCamposObligatorios()
        {
            errorProvider1.Clear();
            var bandera = 0;

            if (string.IsNullOrEmpty(tbApellido.Text))
            {
                errorProvider1.SetError(tbApellido,"Ingrese un Apellido");
                bandera = 1;
            }
            

            if (string.IsNullOrEmpty(tbNombre.Text))
            {
                errorProvider1.SetError(tbNombre, "Ingrese un Nombre");
                bandera = 1;
            }

            if (string.IsNullOrEmpty(tbPass.Text))
            {
                errorProvider1.SetError(tbPass, "Ingrese la Contraseña");
                bandera = 1;
            }

            if (string.IsNullOrEmpty(tbRepetirPass.Text))
            {
                errorProvider1.SetError(tbRepetirPass, "Repita la contraseña");
                bandera = 1;
            }

            if (string.IsNullOrEmpty(tbUsuario.Text))
            {
                errorProvider1.SetError(tbUsuario, "Ingrese el Usuario");
                bandera = 1;
            }

            return bandera == 1;
        }
    }
}
